﻿// Copyright (c) 2008, 3G.cn
// $Author: Moweiqiang $
// $Date: 09-03-20 15:44 $
// $Revision: 5 $
// $NoKeywords: $
using System;
using System.Collections.Generic;

namespace Interactive.Utility.Collections {
    /// <summary>
	/// 分页的列表。由当前列项目与列表总项目数组成。
	/// </summary>
	public class PagedList<T> {
		private List<T> items;
		private int recordCount = -1;

		/// <summary>
		/// 设置或获取当前列表的项集合。将该属性设置为null时每次获取时将得到一个空列表
		/// </summary>
		public List<T> Items {
			get {
				return items ?? new List<T>(0);
			}
			set {
				items = value;
			}
		}

		/// <summary>
		/// 完整列表包含项目的总数
		/// </summary>
		public int RecordCount {
			get {
				return recordCount;
			}
			set {
				if (value < 0)
					throw new ArgumentOutOfRangeException();
				recordCount = value;
			}
		}
	}
}